package com.yanfan.usersmart.domain;

import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.yanfan.common.annotation.Excel;
import com.yanfan.common.core.domain.BaseEntity;

/**
 * 【请填写功能名称】对象 user_smart
 *
 * @author kerwincui
 * @date 2025-05-22
 */
@ApiModel(value = "UserSmart", description = "用户信息传输装置")
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("user_smart")
public class UserSmart extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    private Long id;

    /**
     * 设备编码
     */
    @Excel(name = "设备编码")
    @ApiModelProperty("设备编码")
    private String deviceCode;

    /**
     * 部件地址
     */
    @Excel(name = "部件地址")
    @ApiModelProperty("部件地址")
    private String address;

    /**
     * 系统类型//消防主机类型
     */
    @Excel(name = "系统类型//消防主机类型")
    @ApiModelProperty("系统类型//消防主机类型")
    private String systemType;

    /**
     * 系统代码//消防主机编号
     */
    @Excel(name = "系统代码//消防主机编号")
    @ApiModelProperty("系统代码//消防主机编号")
    private String systemCode;

    /**
     * 状态//消防主机状态
     */
    @Excel(name = "状态//消防主机状态")
    @ApiModelProperty("状态//消防主机状态")
    private Integer status;

    /**
     * 报警主机主机号  等于 系统地址
     */
    @Excel(name = "报警主机主机号  等于 系统地址")
    @ApiModelProperty("报警主机主机号  等于 系统地址")
    private String firemainCode;

    /**
     * 部件类型
     */
    @Excel(name = "部件类型")
    @ApiModelProperty("部件类型")
    private String partType;

    /**
     * 回路地址 根据部件地址拆分
     */
    @Excel(name = "回路地址 根据部件地址拆分")
    @ApiModelProperty("回路地址 根据部件地址拆分")
    private String loopNo;

    /**
     * 节点编号-根据部件地址拆分
     */
    @Excel(name = "节点编号-根据部件地址拆分")
    @ApiModelProperty("节点编号-根据部件地址拆分")
    private String addressNo;

    /**
     * 模拟量类型
     */
    @Excel(name = "模拟量类型")
    @ApiModelProperty("模拟量类型")
    private String analogType;

    /**
     * 模拟量值
     */
    @Excel(name = "模拟量值")
    @ApiModelProperty("模拟量值")
    private String analogValue;

    /**
     * 设备名称
     */
    @Excel(name = "设备名称")
    @ApiModelProperty("设备名称")
    private String deviceName;

    /**
     * 厂商名称
     */
    @Excel(name = "厂商名称")
    @ApiModelProperty("厂商名称")
    private String manufacturer;

    /**
     * 产品型号
     */
    @Excel(name = "产品型号")
    @ApiModelProperty("产品型号")
    private String model;

    /**
     * 固件版本
     */
    @Excel(name = "固件版本")
    @ApiModelProperty("固件版本")
    private String firmware;

    /**
     * 心跳信号
     */
    @Excel(name = "心跳信号")
    @ApiModelProperty("心跳信号")
    private String heartBeat;

    /**
     * 火灾报警信号
     */
    @Excel(name = "火灾报警信号")
    @ApiModelProperty("火灾报警信号")
    private String alarmSignal;

    /**
     * 手动信号
     */
    @Excel(name = "手动信号")
    @ApiModelProperty("手动信号")
    private String manualSignal;

    /**
     * 自动信号
     */
    @Excel(name = "自动信号")
    @ApiModelProperty("自动信号")
    private String autoSignal;

    /**
     * 消音信号
     */
    @Excel(name = "消音信号")
    @ApiModelProperty("消音信号")
    private String muteSignal;

    /**
     * 启动信号
     */
    @Excel(name = "启动信号")
    @ApiModelProperty("启动信号")
    private String startSignal;

    /**
     * 停止信号
     */
    @Excel(name = "停止信号")
    @ApiModelProperty("停止信号")
    private String stopSignal;

    /**
     * 断电信号
     */
    @Excel(name = "断电信号")
    @ApiModelProperty("断电信号")
    private String powerCutSignal;

    /**
     * 关闭信号
     */
    @Excel(name = "关闭信号")
    @ApiModelProperty("关闭信号")
    private String closeSignal;

    /**
     * 复位信号
     */
    @Excel(name = "复位信号")
    @ApiModelProperty("复位信号")
    private String resetSignal;

    @ApiModelProperty("上传时间")
    private String uploadTime;

}
